/**
 * 用户认证模块
 * 管理用户登录状态、角色和基本信息
 */

// src/store/modules/user.js
const state = {
  token: '', // 用户认证令牌
  role: 'user', // 用户角色，默认为普通用户
  info: {} // 用户详细信息
}

const getters = {
  // 判断用户是否已认证
  isAuthenticated: state => !!state.token
}

const mutations = {
  // 设置认证令牌
  setToken(state, token) {
    state.token = token
  },
  // 设置用户角色
  setRole(state, role) {
    state.role = role
  },
  // 设置用户信息
  setInfo(state, info) {
    state.info = info
  }
}

const actions = {
  // 用户登录
  login({ commit }, { token, role }) {
    commit('setToken', token)
    commit('setRole', role)
  },
  // 用户登出
  logout({ commit }) {
    commit('setToken', '')
    commit('setRole', 'user')
  }
}

export default {
  namespaced: true, // 启用命名空间
  state,
  getters,
  mutations,
  actions
}